home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -seriously_amiga- / programming / other / cyberxxxsrc / cyberavi / txt / cyberaviglobals.mod < prev    next >
Text File  |  1999-02-08  |  4KB  |  127 lines

  1. MODULE  CyberAVIGlobals;
  2.  
  3. (* $IFNOT DEBUG *)
  4.   (* $StackChk- $OvflChk- $RangeChk- $CaseChk- $ReturnChk- $NilChk- $TypeChk- $OddChk- $ClearVars- *)
  5. (* $END *)
  6.  
  7. (* /// ------------------------------- "IMPORT" -------------------------------- *)
  8. IMPORT  cgfx:=CyberGraphics,
  9.         d:=Dos,
  10.         gfx:=Graphics;
  11. (* \\\ ------------------------------------------------------------------------- *)
  12.  
  13. (* /// -------------------------------- "TYPE" --------------------------------- *)
  14. TYPE    AVIHeader * =STRUCT
  15.             microsPerFrame * : LONGINT;
  16.             maxBytesPerSec * : LONGINT;
  17.             reserved * : LONGINT;
  18.             flags * : LONGSET;
  19.             totalFrames * : LONGINT;
  20.             initialFrames * : LONGINT;
  21.             streams * : LONGINT;
  22.             suggestedBufferSize * : LONGINT;
  23.             width * : LONGINT;
  24.             height * : LONGINT;
  25.             scale * : LONGINT;
  26.             rate * : LONGINT;
  27.             start * : LONGINT;
  28.             length * : LONGINT;
  29.         END;
  30.  
  31.         AVIStreamHeader * =STRUCT
  32.             fccType * : LONGINT;
  33.             fccHandler * : LONGINT;
  34.             flags * : LONGSET;
  35.             priority * : LONGINT;
  36.             initialFrames * : LONGINT;
  37.             scale * : LONGINT;
  38.             rate * : LONGINT;
  39.             start * : LONGINT;
  40.             length * : LONGINT;
  41.             suggestedBufferSize * : LONGINT;
  42.             quality * : LONGINT;
  43.             sampleSize * : LONGINT;
  44.             reserved * : ARRAY 4 OF LONGINT;
  45.         END;
  46.  
  47.         VIDS * =STRUCT
  48.             size * : LONGINT;
  49.             width * : LONGINT;
  50.             height * : LONGINT;
  51.             planes * : INTEGER;
  52.             bitCnt * : INTEGER;
  53.             compression * : LONGINT;
  54.             imageSize * : LONGINT;
  55.             xPelsPerMeter * : LONGINT;
  56.             yPelsPerMeter * : LONGINT;
  57.             clrUsed * : LONGINT;
  58.             clrImportant * : LONGINT;
  59.         END;
  60.  
  61.         VIDSHeader * =STRUCT
  62.             strh * : AVIStreamHeader;
  63.             strf * : VIDS;
  64.         END;
  65.  
  66.         AUDS * =STRUCT
  67.             format * : INTEGER;
  68.             channels * : INTEGER;
  69.             samplesPerSec * : LONGINT;
  70.             avgBytesPerSec * : LONGINT;
  71.             blockAlign * : INTEGER;
  72.             bitsPerSample * : INTEGER;
  73.             extSize * : INTEGER;
  74.         END;
  75.  
  76.         AUDSHeader * =STRUCT
  77.             strh * : AVIStreamHeader;
  78.             strf * : AUDS;
  79.         END;
  80.  
  81.         AnimInfoPtr * =UNTRACED POINTER TO AnimInfo;
  82.         AnimInfo * =STRUCT
  83.             avih * : AVIHeader;
  84.             vids * : VIDSHeader;
  85.             auds * : AUDSHeader;
  86.         END;
  87. (* \\\ ------------------------------------------------------------------------- *)
  88.  
  89. (* /// -------------------------------- "CONST" -------------------------------- *)
  90. CONST   pauseAnim * =-2;
  91.         skipAnim * =-1 ;
  92.         noError * =0;
  93.         unknownError * =1;
  94.         readError * =2;
  95. (* \\\ ------------------------------------------------------------------------- *)
  96.  
  97. (* /// --------------------------------- "VAR" --------------------------------- *)
  98. VAR     agaOnly - : BOOLEAN;
  99.         cgfxOnly - : BOOLEAN;
  100.         gfxBoth - : BOOLEAN;
  101.         animInfo * : AnimInfoPtr;
  102. (* \\\ ------------------------------------------------------------------------- *)
  103.  
  104. (* /// --------------------- "PROCEDURE CheckGfxAbility()" --------------------- *)
  105. PROCEDURE CheckGfxAbility();
  106.  
  107. VAR     aga: BOOLEAN;
  108.         cyber: BOOLEAN;
  109.  
  110. BEGIN
  111.   aga:=(gfx.hrAgnus IN gfx.base.chipRevBits0) & (gfx.hrDenise IN gfx.base.chipRevBits0) & (gfx.aaAlice IN gfx.base.chipRevBits0) & (gfx.aaLisa IN gfx.base.chipRevBits0);
  112.   cyber:=(cgfx.cgfx#NIL);
  113.   agaOnly:=aga & ~cyber;
  114.   cgfxOnly:=~aga & cyber;
  115.   gfxBoth:=aga & cyber;
  116.   IF ~aga & ~cyber THEN
  117.     d.PrintF("CyberAVI needs either AGA chipset or CyberGraphX installed\n");
  118.     HALT(0);
  119.   END;
  120. END CheckGfxAbility;
  121. (* \\\ ------------------------------------------------------------------------- *)
  122.  
  123. BEGIN
  124.   CheckGfxAbility();
  125.   NEW(animInfo);
  126. END CyberAVIGlobals.
  127.